/**
  * @file    :main.cpp
  * @brief   :测试入口
  * @author  :TMJ
  * @version :V1.0.0
  * @date    :2023-12-27
*/

#include "test.hpp"
#include <iostream>

using namespace std;

int main() {
    // cout << "===========================链队测试==========================" << endl;

    // // 测试-链式队列-长度
    // Test_LinkedQueue_Length();

    // // 测试-链式队列-入队
    // Test_LinkedQueue_EnQueue();

    // // 测试-链式队列-出队
    // Test_LinkedQueue_DeQueue();

    // // 测试-链式队列-获取队头/获取队尾
    // Test_LinkedQueue_GetFrontAndGetRear();

    // // 测试-链式队列-清空
    // Test_LinkedQueue_IsEmpty();

    // // 测试-链式队列-operator<<
    // Test_LinkedQueue_Print();

    // cout << "==========================循环队列测试========================" << endl;

    // // 测试-循环队列-长度
    // Test_CircularQueue_Length();

    // // 测试-循环队列-入队
    // Test_CircularQueue_EnQueue();

    // // 测试-循环队列-出队
    // Test_CircularQueue_DeQueue();

    // // 测试-循环队列-获取队头/获取队尾
    // Test_CircularQueue_GetFrontAndGetRear();

    // // 测试-循环队列-清空
    // Test_CircularQueue_Clear();

    // // 测试-循环队列-operator<<
    // Test_CircularQueue_Print();

    cout << "==========================双端队列测试========================" << endl;

    // 测试-双端队列-长度
    Test_DoubleEndedQueue_Length();

    // 测试-双端队列-入队
    Test_DoubleEndedQueue_EnQueue();

    // 测试-双端队列-出队
    Test_DoubleEndedQueue_DeQueue();

    // 测试-双端队列-获取队头/获取队尾
    Test_DoubleEndedQueue_GetFrontAndGetRear();

    // 测试-双端队列-清空
    Test_DoubleEndedQueue_IsEmpty();

    // 测试-双端队列-operator<<
    Test_DoubleEndedQueue_Print();

    // 测试-双端队列-双向Push/双向Pop
    Test_DoubleEndedQueue_PushAndPop();

    return 0;
}